<?php

/**
 * @author Ismael Gonzalez
 * @copyright 2010
 * clase manejadora de Encuestas
 */
 class Encuesta{
 	
 	public function getEncuesta(){
 		$SQL = "SELECT encuestaid FROM encuesta 
		 	WHERE fechapub <= curdate() ORDER BY fechaPub DESC, encuestaid DESC LIMIT 1";
		$Q = mysql_query($SQL) or die(mysql_error());
		$eID = mysql_fetch_array($Q);
 		 		
		$SQL = "SELECT e.pregunta, o.encopid, o.encop, e.encuestaid "
			."FROM encuesta e LEFT JOIN encop o ON e.encuestaid = o.encuestaid "
			."WHERE e.encuestaid = ".$eID["encuestaid"];
		$Q = mysql_query($SQL) or die(mysql_error());
		$arrRes = Array();
		$i = 0;	
		while($row = mysql_fetch_array($Q)){
			$arrRes[$i]["pregunta"] = $row['pregunta'];
			$arrRes[$i]["encuestaid"] =  $row['encuestaid'];
			$arrRes[$i]["encopid"] =  $row['encopid'];
			$arrRes[$i]["encop"] =  $row['encop'];
			$i++;
		}
		
		return $arrRes;
	}
	
	public function getResultados($encuestaID){
		$SQL = "SELECT * FROM encop WHERE encuestaid = ".$encuestaID;
		$Q = mysql_query($SQL) or die(mysql_error());
	}
	
	public function getVoteTotal($encopID){
		$SQL = "SELECT numvotos FROM encop WHERE encopid = ".$encopID;
		$Q = mysql_query($SQL) or die(mysql_error());
		$row = mysql_fetch_array($Q);
		
		return $row['numvotos'];
	}
	
	public function addVote($encopID){
		$totalVotes = $this->getVoteTotal($encopID);
		$totalVotes++;
		
		$SQL = "UPDATE encop SET numvotos = ".$totalVotes." WHERE encopid = ".$encopID;
		$Q = mysql_query($SQL) or die(mysql_error());
	}
	
	public function getSUMVotes($encuestaid){
		$SQL = "SELECT SUM(numvotos) as TotalVotes FROM encop WHERE encuestaid = "
				.$encuestaid;
		$Q = mysql_query($SQL) or die(mysql_error());
		$row = mysql_fetch_array($Q);
		
		return $row["TotalVotes"];
	}
	
	public function getnumvotos($encuestaid){
		$SQL = "SELECT numvotos, encop FROM encop WHERE encuestaid = "
				.$encuestaid;
		$Q = mysql_query($SQL) or die(mysql_error());
		$arrRes = Array();
		$i = 0;	
		while($row = mysql_fetch_array($Q)){
			$arrRes[$i]["numvotos"] = $row['numvotos'];
			$arrRes[$i]["encop"] =  $row['encop'];
			$i++;
		}
		
		return $arrRes;
	}
	
	//regresa el array con el total y los porcentajes de la encuesta
	public function getVoteResults($encuestaid){
		$TotalVotes = $this->getSUMVotes($encuestaid);
		$arrnumvotos = $this->getnumvotos($encuestaid);
		$arrResults = Array();
		for($i=0; $i < sizeof($arrnumvotos); $i++){
			$arrResults[$i]['porcentajeEncop'] = round(($arrnumvotos[$i]['numvotos']/$TotalVotes)*100);
			$arrResults[$i]['numvotos'] = $arrnumvotos[$i]['numvotos'];
			$arrResults[$i]['encop'] = $arrnumvotos[$i]['encop'];
		}
		
		return $arrResults;
	}
	
	public function addEncOp($encID, $op1, $op2, $op3, $op4, $op5){
		if($op1 != ""){
			$op1 = htmlentities($op1,ENT_COMPAT, 'UTF-8');
			$SQL = "INSERT INTO encop (encuestaid, encop) VALUES ( ".$encID.", '".$op1."')";
			$Q = mysql_query($SQL)or die(mysql_error());
		}
		if($op2 != ""){
			$op2 = htmlentities($op2,ENT_COMPAT, 'UTF-8');
			$SQL = "INSERT INTO encop (encuestaid, encop) VALUES ( ".$encID.", '".$op2."')";
			$Q = mysql_query($SQL)or die(mysql_error());
		}
		if($op3 != ""){
			$op3 = htmlentities($op3,ENT_COMPAT, 'UTF-8');
			$SQL = "INSERT INTO encop (encuestaid, encop) VALUES ( ".$encID.", '".$op3."')";
			$Q = mysql_query($SQL)or die(mysql_error());
		}
		if($op4 != ""){
			$op4 = htmlentities($op4,ENT_COMPAT, 'UTF-8');
			$SQL = "INSERT INTO encop (encuestaid, encop) VALUES ( ".$encID.", '".$op4."')";
			$Q = mysql_query($SQL)or die(mysql_error());
		}
		if($op5 != ""){
			$op5 = htmlentities($op5,ENT_COMPAT, 'UTF-8');
			$SQL = "INSERT INTO encop (encuestaid, encop) VALUES ( ".$encID.", '".$op5."')";
			$Q = mysql_query($SQL)or die(mysql_error());
		}
	}
	
	public function addEncuesta($pregunta, $fechaPub, $op1, $op2, $op3, $op4, $op5){
		$pregunta = htmlentities($pregunta,ENT_COMPAT, 'UTF-8');
		$arrFecha = explode("-", $fechaPub);
		$fechaPub = $arrFecha[2]."-".$arrFecha[1]."-".$arrFecha[0];
		
		$SQL = "INSERT INTO encuesta (pregunta, fechaPub) VALUES ('".$pregunta."', '"
				.$fechaPub."')";
		$Q = mysql_query($SQL)or die(mysql_error());
		$newID = mysql_insert_id();
		$this->addEncOp($newID, $op1, $op2, $op3, $op4, $op5);
	}
}
?>